package com.dhcc.bpm.modules.sandbox.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.bpm.modules.sandbox.entity.SandboxCaseDict;
import com.dhcc.bpm.modules.sandbox.vo.SandboxCaseDictVO;
import com.dhcc.bpm.modules.sandbox.vo.TestDictTypeVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName SandboxCaseDictMapper
 * @Description 沙箱案例测试关联表 Mapper 接口
 * @Author sjm
 * @Date 2020/2/21 0021 15:16
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 **/
public interface SandboxCaseDictMapper extends BaseMapper<SandboxCaseDict> {

	/**
	 * @Description 自定义分页
	 * @Author sjm
	 * @Date 9:56 2020/2/22 0022
	 * @param page
	 * @param sandboxCaseDict
	 * @return java.util.List<com.dhcc.bpm.modules.sandbox.vo.SandboxCaseDictVO>
	 **/
	List<SandboxCaseDictVO> selectSandboxCaseDictPage(IPage page, SandboxCaseDictVO sandboxCaseDict);

	/**
	 * @Description 根据实例id查询测试数据
	 * @Author sjm
	 * @Date 17:57 2020/2/21 0021
	 * @param page
	 * @param testDictTypeVO
	 * @return java.util.List<com.dhcc.bpm.modules.sandbox.vo.TestDictTypeVO>
	 **/
	List<TestDictTypeVO> selectSandboxCaseByCaseId(IPage page, TestDictTypeVO testDictTypeVO);

	/**
	 * @Description 根据实例id查询测试数据类型
	 * @Author sjm
	 * @Date 17:58 2020/2/21 0021
	 * @param page
	 * @param testDictTypeVO
	 * @return java.util.List<com.dhcc.bpm.modules.sandbox.vo.TestDictTypeVO>
	 **/
	List<TestDictTypeVO> selectByCaseId(IPage page,TestDictTypeVO testDictTypeVO);

	/**
	 * @Description 查询沙箱实例集合
	 * @Author sjm
	 * @Date 17:58 2020/2/21 0021
	 * @param caseId
	 * @return java.util.List<com.dhcc.bpm.modules.sandbox.vo.SandboxCaseDictVO>
	 **/
	List<SandboxCaseDictVO>  selectSandboxCase(Long caseId);

	/**
	 * @Description 查询单条实例
	 * @Author sjm
	 * @Date 17:58 2020/2/21 0021
	 * @param caseId
	 * @param testId
	 * @return com.dhcc.bpm.modules.sandbox.vo.SandboxCaseDictVO
	 **/
	SandboxCaseDictVO selectSandboxCaseById(Long caseId, Long testId);

	/**
	 * @Description 批量删除
	 * @Author sjm
	 * @Date 17:58 2020/2/21 0021
	 * @param caseId
	 * @param toLongArray
	 * @return int
	 **/
	int removeByIds(long caseId, @Param("ids") Long[] toLongArray);
}
